package cn.outsourcing.supermarket.service;

import cn.outsourcing.supermarket.dto.OnlyIdPayloadDTO;
import cn.outsourcing.supermarket.dto.backstage.BackstageCategoryStatusDTO;
import cn.outsourcing.supermarket.dto.backstage.BackstageCategoryStoreDTO;
import cn.outsourcing.supermarket.dto.backstage.BackstageUpdateSortDTO;
import cn.outsourcing.supermarket.vo.backstage.BackstageCategoryInfoVO;
import cn.outsourcing.supermarket.vo.hiolabs.HiolabsCategoryVO;

import java.util.List;

/**
 * 后台分类服务
 *
 * @author gzkemays
 * @since 2021/11/4 14:46
 */
public interface BackstageCategoryService {
  /**
   * 获取分类
   *
   * @return 分类值对象
   */
  List<BackstageCategoryInfoVO> getCategory();

  /**
   * 保存分类信息
   *
   * @param dto 保存的数据传输
   * @return save after data
   */
  BackstageCategoryInfoVO store(BackstageCategoryStoreDTO dto);

  /**
   * 获取分类详情信息
   *
   * @param dto 分类id
   * @return 详情信息
   */
  HiolabsCategoryVO info(OnlyIdPayloadDTO dto);

  /**
   * 更新分类状态
   *
   * @param dto 更新对象
   * @param mode 更新类型
   * @return 更新状态
   */
  String updateStatus(BackstageCategoryStatusDTO dto, Integer mode);

  /**
   * 更新序列
   *
   * @param dto 序列数据
   * @return 更新结果
   */
  Integer updateSort(BackstageUpdateSortDTO dto);

  /**
   * 删除分类
   * @param dto id
   * @return 操作结果
   */
  Integer destroy(OnlyIdPayloadDTO dto);
}
